Business applications (e.g., customer relationship management systems, product lifecycle management systems, or supply chain management systems) may be used to facilitate the management and implementation of complex business processes. As the volume of data and computational complexity of business applications increase, faster, more capable business application servers may be used to meet performance requirements.
One technique that is used to improve system performance is to upgrade to a business application server having greater processing power, increased data throughput, more memory, and additional data storage space. For example, the performance of a typical business application may be improved by purchasing a new server having faster processors, and greater main memory.
Another technique that is sometimes used to increase the performance of a system is to breakdown the complexity of the system into components that may be distributed. For example, web server architectures were largely monolithic in nature with a single server used to support many different tasks and, perhaps, many different websites. As the performance demands of websites increased and as web hosting market grew, the industry trend tended towards breaking the functionality of a website into smaller components that may be run on smaller, less-capable, cheaper servers.
The market met the demand for smaller, inexpensive servers by offering rack-mounted systems complete with one or more processors, main memory, and a hard drive. These rack-mounted systems allow a web-hosting company to provide independent systems to their customers in a configuration that minimizes the needed floor space in the hosting company's facilities.
Rack-mounted servers may substantially increase the number of systems that may be stored in a single rack; however, each system typically is completely independent of the other systems. One technique that has recently been used to further increase the number of systems that may be stored in a single rack is to share some resources, such as power supplies, between multiple systems. For example, a unit, called a blade server, may include one or more power supplies, one or more network interfaces, and slots for one or more small servers built on cards that may be plugged into the blade server.